1. Field of the Invention
The present invention relates to a method, system, and program for managing the rate at which client requests for a service are transmitted.
2. Description of the Related Art
In network computing systems, numerous client computers may attempt to access a server providing access to resources over a network, such as the Internet. The server may queue requests. However, if the request load is particularly high, then the number of requests may exceed the server queue depth, which results in the server responding with a connection unavailable error message.
One prior art solution for handling server overload is a server throttle that limits the number of requests that are transmitted from the network to the server request queue. The server throttle accumulates client requests from the network directed toward the server in a server throttle queue and manages the transfer of client requests from the throttle queue to the server request queue in a manner that does not overload the server.
Although this solution of a server throttle has proven somewhat effective, loading client requests at the server throttle can place certain burdens backstream through the network infrastructure to the client. Moreover, server throttles are unable to control the load the clients place on the server.
Thus, there is a need in the art for an improved techniques for managing high request loads on a network resource, such as a server.
Provided is a method, system, and program for enabling a client to access a service, wherein the client is capable of communicating with a server. The client accesses a proxy object from the server that includes code to enable the client to access the service. The accessed proxy object includes a request rate indicating a rate at which the client transmits requests for the service. The client generates requests for the service using code included in the proxy object accessed from the server. The client then transmits the generated requests for the service at the request rate included in the proxy object.
In further implementations, the request rate is dynamically adjusted depending on a request load for the service. The adjusted request rate is then communicated to the client. After receiving the adjusted request rate, the client submits requests for the service at the adjusted request rate.
In still further implementations, the client comprises a service provider system, the object comprises a lookup proxy service object, and the service comprises a lookup service that enables the service provider system to communicate with the server to register and access service proxy objects with the server at a lookup service request rate.
Still further, the registered service proxy objects with the server enable an additional client to access the service through the service provider system over a network. The registered service proxy object includes a service request rate indicating a rate at which the additional client transmits requests to access the service to the service provider system.